package com.tbit.uqbike.webmanager.dao.log;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.tbit.config.datasource.DataSource;
import com.tbit.uqbike.object.pojo.RechargeGiveIncomeQuery;
import com.tbit.uqbike.object.pojo.RechargeGiveLog;
import com.tbit.uqbike.object.pojo.vo.RechargeGiveDetailVO;
import com.tbit.uqbike.object.pojo.vo.RechargeGiveIncomeVO;
import com.tbit.uqbike.object.pojo.vo.RechargeGiveTotalDetailVO;
import com.tbit.uqbike.object.pojo.vo.RechargeGiveTotalIncomeVO;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@DS(DataSource.LOG)
public interface RechargeGiveLogDao {
    int insert(RechargeGiveLog record);

    int insertSelective(RechargeGiveLog record);

    List<Map<String, Object>> selectByRechargeMoney(HashMap<String, Object> params);

    /**
     * 根据名称模糊查询，号码，时间，充值金额查询
     */
    List<RechargeGiveLog> selectRechargeGiveLog(RechargeGiveLog give);

    Map<String, Object> getTotal(Map<String, Object> map);

    RechargeGiveTotalDetailVO getRechargeGiveTotalDetail(List<Integer> accountIds, Date startTime, Date endTime);

    List<RechargeGiveDetailVO> getRechargeGiveDetailList(List<Integer> accountIds, Date startTime, Date endTime);

    RechargeGiveTotalIncomeVO getRechargeGiveTotalIncome(RechargeGiveIncomeQuery query);

    List<RechargeGiveIncomeVO> getRechargeGiveIncomeList(RechargeGiveIncomeQuery query);
}